//  引入人脸识别模块
const AipFaceClient = require('baidu-aip-sdk').face;
const HttpClient = require("baidu-aip-sdk").HttpClient;

// 设置APPID/AK/SK
const APP_ID = "24637433";
const API_KEY = "UEE1BaspBS7EHLD8RkWaqwe5";
const SECRET_KEY = "eWeklayC9xg4oPQMP8KRB455ICBDVpot";

// 新建一个对象，建议只保存一个对象调用服务接口
const client = new AipFaceClient(APP_ID, API_KEY, SECRET_KEY);

// 设置request库的一些参数，例如代理服务地址，超时时间等
// request参数请参考 https://github.com/request/request#requestoptions-callback
HttpClient.setRequestOptions({timeout: 5000});

// 也可以设置拦截每次请求（设置拦截后，调用的setRequestOptions设置的参数将不生效）,
// 可以按需修改request参数（无论是否修改，必须返回函数调用参数）
// request参数请参考 https://github.com/request/request#requestoptions-callback
HttpClient.setRequestInterceptor(function(requestOptions) {
    // 查看参数
    // console.log(requestOptions)
    // 修改参数
    requestOptions.timeout = 5000;
    // 返回参数
    return requestOptions;
});


// // 调用人脸检测
// client.detect(image, imageType).then(function(result) {
//     console.log(JSON.stringify(result));
// }).catch(function(err) {
//     // 如果发生网络错误
//     console.log(err);
// });

// // 如果有可选参数
// const options = {};
// options["face_field"] = "age";
// options["max_face_num"] = "2";
// options["face_type"] = "LIVE";
// options["liveness_control"] = "LOW";

// // 带参数调用人脸检测
// client.detect(image, imageType, options).then(function(result) {
//     console.log(JSON.stringify(result));
// }).catch(function(err) {
//     // 如果发生网络错误
//     console.log(err);
// });;

// 人脸注册 该人脸就会与我们设置的groupId与userId进行绑定
let image = "./IU.png";
let imageType = "BASE64";
let groupId = "1";
let userId = "1360445830";


client.addUser(image, imageType, groupId, userId).then(function(result) {
    console.log(JSON.stringify(result));
}).catch(function(err) {
    // 如果发生网络错误
    console.log(err);
});

